1. Field of the Invention
The invention relates to the Resource Description Framework (RDF) data model, and particularly to representing RDF data in a database.
2. Description of Related Art
Resource Description Framework (RDF) is a standard for representing information about resources in the World Wide Web; in particular, it is intended for representing metadata about Web resources. These resources include Web pages and things that can be identified using a Uniform Resource Identifier (URI). A URI is a more general form of the Uniform Resource Location (URL). It allows information about a resource to be recorded without the use of a specific network address. RDF is a data model for the description of resources, which includes statements about resources. In RDF, a resource is any identifiable thing. A statement about a resource is represented using a triple, which includes a subject, predicate or property, and an object. The subject is an ID for the resource, which is being described by the statement. The object is either a Unicode character string or an ID of another resource. The predicate or property is an ID for the relationship between the subject and the object. The IDs in the subject and predicate, and in the object if it is a resource, are formatted as URIs. This triple is effectively modeled as a directed graph. As illustrated in FIG 1, the subject and object of the triple are modeled as nodes, and the predicate as a directed link that describes the relationship between the nodes. The direction of the link points toward the object.
A number of RDF storage systems and browsers are available. Many of the available systems implement persistent storage using relational databases, where data is stored in flat relational tables. In these systems, triples are stored in a main statement table with links to supporting tables. The main statement table has columns for the subject, predicate, and object, and each row in the table represents a triple.
There are disadvantages to using this method of storage: In applications development, mapping is required between the client-side RDF objects, and database columns and tables that contain the triples. A user is required to be aware of the structure for the RDF data storage in order to perform the mapping. The process of applications development therefore has limited ease and is often inefficient. There is thus a need for an alternative approach to managing RDF data that will make it easier to model RDF applications and allow applications to be developed more efficiently.